package IO;

import org.junit.Test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;

/**
 * 字符集
 * 1.ASCII：美国
 * 2.ISO8859-1：欧洲
 * 3.GB2312：旧中文
 * 4.GBK：中文
 * 5.Unicode：国际标准
 * 6.UTF-8：全球(0xxxxxxx 表示计算机读取一个字符)
 *              (110xxxxx 10xxxxxx表示计算机读取两个字符)
 *              (110xxxxx 10xxxxxx 10xxxxxx表示计算机读取三个字符)
 *              (110xxxxx 10xxxxxx 10xxxxxx 10xxxxxx表示计算机读取四个字符)
 */
public class inputStreamReader {
    //实现字节的输入流到字符的输入流的转换
    InputStreamReader isr;
    @Test
    public void test(){
        try {
            isr = new InputStreamReader(new FileInputStream("mm"), StandardCharsets.UTF_8);
            char[] c=new char[1024];
            int len;
            while ((len=isr.read(c))!=-1){
                new String(c,0,len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                isr.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
